# -*- coding: utf-8 -*-
"""
winpackage version：0.1

这个项目主要是用来获得python的一些包的编译好的windows版本
安装包来自地址：http://www.lfd.uci.edu/~gohlke/pythonlibs/
这个网站访问速度实在太慢，而且页面上的下载链接还加密了，因此希望通过这个工具能够方便的从网页源代码上解析出地址
注：可以通过百度网盘快速下载到这个网页的源代码，这个网页的加密隔段时间就会换一下，但是加密方法是一样的
"""
import codecs
import os
import pprint
import sys

from parser_html import WinPackHtmlParser


class WinPackage:
    def __init__(self, source_path=None):
        """
        构造函数
        :param source_path: str 如果不指定，就在当前目录下找文件：source.html
        :return:
        """

        # 确定文件路径
        self.source_path = source_path if source_path is not None else 'source.html'

        # 确定文件存在
        if not os.path.exists(self.source_path):
            raise FileNotFoundError(self.source_path)

    def run(self):
        # 解析html文件
        p = WinPackHtmlParser(self.source_path)
        with open('1.txt', 'w', encoding='utf-8') as out_put:
            pprint.pprint(p.packages, out_put)

        print('文件已经写入：%s' % out_put.name)


if __name__ == '__main__':
    #sys.stdout = codecs.getwriter("utf-8")(sys.stdout.detach())

    w = WinPackage()
    w.run()